/*
 * DataParser.h
 *
 *  Created on: 11.12.2011
 *      Author: serafim
 *
 * Парсер данных: принимает URL, выдает DataObject
 */
#ifndef DATAPARSER_H_
#define DATAPARSER_H_
#include <vector>
#include "DataObject.h"
using std::vector;

#define DREAMSTIME "http://www.dreamstime.com"

class DataParser {
public:
	DataParser();
	virtual ~DataParser();

	//вернуть объект данных с страницы
	DataObject* parseDataOnPage(string url);

	//вернуть список ссылок на изображения
	vector<string*> getUrlsByKeyword(string keyword, int maxNu);

	void test();
private:
		//вернуть исходник страницы
	string getPageSource(string url);

		//узнать количество страниц с результатами
	int getNumberOfPages(string source);

		//вернуть список ссылок cо страницы
	vector<string> getAllLinks(string url);

	vector<string*>& getImageURLsFromPage(string url);

	bool isImageUrl(string url);
	string intToString(int v);
	int StringToInt(string s);
	int returnDigit(char s);

	int readInt(string a);
	bool isInt(char a);
	vector<string> getPageURLs(string source);

	string getTagFromSource(string source, string tag, string attribute, string value);
	int getImageDownloads(string source);
	int getImageViews(string source);
	int getImageId(string url);
	string keyword;
};

#endif /* DATAPARSER_H_ */
